package com.flyco.modules.ums.entity;

import java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import com.flyco.poi.excel.annotation.Excel;

/**
 * @Description: 用户礼品订单
 * @Author: flyco
 * @Date:   2020-09-29
 * @Version: V1.0
 */
@Data
@TableName("ums_member_gift_order")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="ums_member_gift_order对象", description="用户礼品订单")
public class UmsMemberGiftOrder {
    
	/**id*/
	@TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "id")
	private Long id;

	/**来源id*/
	@Excel(name = "来源编号", width = 15)
	@ApiModelProperty(value = "来源id")
	private Long sourceId;
	/**来源子id*/
	@Excel(name = "来源明细编号", width = 15)
	@ApiModelProperty(value = "来源子id")
	private Long sourceSubId;
	/**来源名称*/
	@Excel(name = "来源名称", width = 15)
	@TableField(exist = false)
	private String sourceName;


	/**会员id*/
	@Excel(name = "会员编号", width = 15)
    @ApiModelProperty(value = "会员id")
	private Long memberId;
	/**商品id*/
    @ApiModelProperty(value = "商品id")
	private Long productId;

	/**商品货号*/
	@Excel(name = "商品货号", width = 15)
	@TableField(exist = false)
	private String productSn;
	/**商品名称*/
	@Excel(name = "商品名称", width = 15)
	@TableField(exist = false)
	private String productName;

	/**礼品来源： lottery/gift*/
	private String giftSource;


	/**订单id*/
    @ApiModelProperty(value = "订单id")
	private String orderId;
	/**使用状态：0->未使用；1->已使用；2->已过期*/
	@Excel(name = "使用状态", width = 15)
    @ApiModelProperty(value = "使用状态：0->未使用；1->已使用；2->已过期")
	private Integer useStatus;
	/**使用时间*/
	@Excel(name = "使用时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "使用时间")
	private Date useTime;
	/**过期时间*/
	@Excel(name = "过期时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "过期时间")
	private Date endTime;
	/**是否删除*/
	@Excel(name = "是否删除", width = 15)
    @ApiModelProperty(value = "是否删除")
	private Integer delFlag;
	/**创建人*/
    @ApiModelProperty(value = "创建人")
	private String createBy;
	/**创建时间*/
	@Excel(name = "创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
	private Date createTime;
	/**收货人姓名*/
	@Excel(name = "收货人姓名", width = 15)
    @ApiModelProperty(value = "收货人姓名")
	private String receiverName;
	/**收货人电话*/
	@Excel(name = "收货人电话", width = 15)
    @ApiModelProperty(value = "收货人电话")
	private String receiverPhone;
	/**收货人邮编*/
	@Excel(name = "收货人邮编", width = 15)
    @ApiModelProperty(value = "收货人邮编")
	private String receiverPostCode;
	/**省份/直辖市*/
	@Excel(name = "省份/直辖市", width = 15)
    @ApiModelProperty(value = "省份/直辖市")
	private String receiverProvince;
	/**省份编号*/
    @ApiModelProperty(value = "省份编号")
	private String receiverProvinceCode;
	/**城市*/
	@Excel(name = "城市", width = 15)
    @ApiModelProperty(value = "城市")
	private String receiverCity;
	/**城市编号*/
    @ApiModelProperty(value = "城市编号")
	private String receiverCityCode;
	/**区*/
	@Excel(name = "区", width = 15)
    @ApiModelProperty(value = "区")
	private String receiverRegion;
	/**区编号*/
    @ApiModelProperty(value = "区编号")
	private String receiverRegionCode;
	/**详细地址*/
	@Excel(name = "详细地址", width = 15)
    @ApiModelProperty(value = "详细地址")
	private String receiverDetailAddress;
	/**更新时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新时间")
	private Date updateTime;



}
